Stratégie de couverture de test à un haut niveau d'abstraction

نویسندگان

  • Pierre Bontron
  • Marie-Laure Potet
چکیده

ions supplémentaires, nous pouvons synthétiser l’écriture de plusieurs objectifs de test en un schéma de test. Un schéma de test est une abstraction d’objectifs de test. Nous présentons maintenant les différentes abstractions proposées avant d’étudier comment nous pouvons exprimer la couverture des schémas de test vis-à-vis de la spécification. Avant de présenter les différentes abstractions, nous posons quelques opérations sur les labels. Un label a ∈ A est de la forme "i/o inst.methode(val)" comme présenté dans la section 2.4. Les opérations associées à un label a sont ML(a) = methode, InstL(a) = inst et IOL(a) = i/o. 4.1. Abstraction sur les paramètres Dans la spécification S, les méthodes portées sur les labels sont toutes instanciées par des valeurs de leurs paramètres. Certains objectifs de test peuvent varier d’une simple valeur de paramètre. Nous proposons d’effectuer un changement d’alphabet des labels, afin de faire abstraction des paramètres des méthodes. Soit Ap le nouveau alphabet, un label est alors de la forme a = i/o inst.methode. On a une fonction totale Fp ∈ A → Ap telle que : Définition 7 ∀a ∈ A. IOL(a) = IOL(Fp(a)) ∧ InstL(a) = InstL(Fp(a)) ∧ ML(a) = ML(Fp(a)). Soit : Fp(i/o inst.methode(val)) = i/o inst.methode, on étend la fonction aux chaînes : Fp(a1 . . . an) = Fp(a1), . . . , Fp(an). 4.2. Abstraction sur les méthodes Une autre abstraction consiste à regrouper des méthodes différentes sous un même label. Prenons le cas d’une application bancaire avec les opérations suivantes : crédit, débit et consultation. On peut suivre des procédures de test similaires pour chacune d’entre elles. Au lieu d’écrire plusieurs fois les mêmes tests avec des noms d’opérations différents, nous pouvons créer un groupe nommé op_bancaire, qui regroupe toutes ces méthodes. Ce lien est établi par une fonction totale G ∈ m → g où m est l’ensemble des méthodes et g est l’ensemble des groupes. Toutes les méthodes de l’alphabet sont associées à un groupe, qui peut être réduit à une méthode. Soit Ag l’alphabet prenant en compte les groupes, un label est alors de la forme : a = i/o inst.groupe. On surcharge la fonction ML tel que ML(a) = groupe. On a une fonction Fg ∈ Ap → Ag telle que : Définition 8 ∀a ∈ Ap. IOA(a) = IOL(Fg(a)) ∧ InstL(a) = InstL(Fg(a)) ∧ G(ML(a )) = ML(Fg(a )). Une nouvelle stratégie de couverture 11 Soit : Fg(i/o inst.methode) = i/o inst.G(methode) = i/o inst.groupe, on étend la fonction aux chaînes : Fg(a1 . . . an) = Fg(a1), . . . , Fg(an). 4.3. Abstraction sur les instances Lorsque nous avons plusieurs instances d’une même classe, nous souhaitons souvent exécuter les mêmes tests sur ces différents objets. Nous offrons la possibilité de faire une abstraction sur les instances, afin de factoriser des schémas de test. L’alphabet des schémas de test ne comporte plus d’instances. Soit A l’alphabet des abstractions sans instance, un label est alors de la forme : A = i/o groupe. Nous avons une fonction Fi ∈ Ag → A telle que : Définition 9 ∀a ∈ Ag . IOL(a) = IOL(Fi(a)) ∧ ML(a) = ML(Fi(a)). Soit : Fi(i/o inst.groupe) = i/o groupe, on étend la fonction aux chaînes : Fi(a1, . . . , an) = Fi(a1), . . . , Fi(an). 4.4. Objectifs de test et couverture Nous venons de présenter les différentes abstractions mises en place à l’aide des fonctions Fp, Fg et Fi. Nous définissons maintenant une fonction FA ∈ A → A comme étant la composition de ces trois fonctions. Nous avons alors : Définition 10 ∀a ∈ L. IOL(a) = IOL(FA(a)) ∧ G(ML(a)) = ML(FA(a)). Soit : Fa(i/o inst.methode(val)) = i/o G(methode) = i/o groupe, on étend la fonction aux chaînes : Fa(a1 . . . an) = Fa(a1), . . . , Fa(an). Soit st un schéma de test décrit par la suite de labels a1a ′ 2 . . . a ′ n avec i ∈ 1..n et ai ∈ A . Un objectif de test ot associé à st vérifie la condition FA(ot) = st. On note alors OTS(st) l’ensemble des objectifs de test dont l’abstration par FA est st : OTS(st) = {ot|FA(ot) = st}. Comme pour les autres niveaux d’abstraction, nous pouvons définir une notion de couverture des branches de la spécification S pour les schémas de test en se basant sur les notions de couverture des niveaux d’abstraction moins élevés. Ainsi on peut définir la couverture par st de la spécification S de la façon suivante : Définition 11 (couverture et taux de couverture d’un schéma de test pour une spécification S)

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Lambeau de couverture au niveau du scarpa par plastie du muscle couturier (Sartorius)

L'infection du scarpa avec un pontage prothétique sous-jacent perméable est une urgence chirurgicale qui peut mettre en jeu le pronostic fonctionnel du membre ainsi que le pronostic vital du patient. Le chirurgien vasculaire peut avoir recours dans certaines situations à un traitement conservateur avec débridement local sans explantation du matériel prothétique. Cette option implique la nécessi...

متن کامل

Analyse de Programmes Malveillants par Abstraction de Comportements. (Analysis of Malware by Behavior Abstraction)

ion de Comportements par Réécriture de Mots Nous avons vu, en Section 1.2, que l’analyse comportementale classique opérait directement au niveau des interactions observées (les appels de librairie, les appels systèmes...), ce qui rend la détection de comportements suspects peu robuste puisque la moindre modification dans la mise en œuvre d’une fonctionnalité permet de faire échouer la détection...

متن کامل

Fusion de classifieurs pour la classification d'images sonar

Résumé. Nous présentons dans ce papier des approches de fusion d’informations haut niveau applicables pour des données numériques ou des données symboliques. Nous étudions l’intérêt des telles approches particulièrement pour la fusion de classifieurs. Une étude comparative est présentée dans le cadre de la caractérisation des fonds marins à partir d’images sonar. Reconnaı̂tre le type de sédiment...

متن کامل

Modélisation UML/MARTE de SoC et analyse temporelle basée sur l'approche synchrone. Vers l'exploration à haut niveau de l'architecture

Résumé Les systèmes embarqués sur puce (ou system-on-chip, SoC) sont de plus en plus sophistiqués en intégrant de multiples fonctionnalités. Ils requièrent beaucoup de ressources pour améliorer les performances d’exécution. Leurs développements posent un véritable défi en raison, à la fois de leurs complexités et de leurs exigences en qualité de service. Cet article s’intéresse à la conception ...

متن کامل

Comparaison de BTD avec des stratégies d ’ exploration “ intelligentes ” pour une sélection automatique d ’ algorithmes

Nous considérons un solveur générique de problèmes de satisfaction de contraintes (CSP) binaires, paramétré par des choix de haut niveau, à savoir le type de recherche, le niveau de propagation de contraintes et l’heuristique de choix de variables. Nous comparons expérimentalement 18 configurations de ce solveur générique sur plus d’un millier d’instances. Un premier but est de comprendre la co...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • Technique et Science Informatiques

دوره 23  شماره 

صفحات  -

تاریخ انتشار 2004